package com.ihr360.cnb.module.insurance.service.feign.fallback;

import com.ihr360.cnb.module.insurance.service.feign.InsuranceService;
import com.ihr360.commons.data.util.Pair;
import com.ihr360.commons.exception.Ihr360Exception;
import com.ihr360.commons.model.type.SIHFLedgerState;
import com.ihr360.entity.ApplicationApprovalEntity;
import com.ihr360.entity.StaffBankSalaryEntity;
import com.ihr360.insurance.entity.request.StaffIdRequest;
import com.ihr360.insurance.entity.vo.BenefitCompanySettingEntity;
import com.ihr360.insurance.entity.vo.CompanyBenefitSimpleVo;
import com.ihr360.insurance.entity.vo.StaffBenefitEntity;
import com.ihr360.insurance.entity.vo.StaffBenefitVo;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * @author Stone.Shi
 * @description
 * @date 2018-01-25 18:16:56.
 */
@Component
public class InsuranceServiceFallback implements InsuranceService {

    private static final String MESSAGE = "MESSAGE：获取社保公积金方案数据失败";

    @Override
    public List<CompanyBenefitSimpleVo> getCompanyBenefits(String companyId) {
        throw new Ihr360Exception("", MESSAGE);
    }

    @Override
    public List<StaffBenefitVo> getAllStaffBenefitInclude(String companyId, StaffIdRequest staffIdRequest) {
        throw new Ihr360Exception("", MESSAGE);
    }

    @Override
    public StaffBenefitEntity queryStaffInsurance(String companyId, String staffId) {
        throw new Ihr360Exception("", MESSAGE);
    }

    @Override
    public void saveStaffInsurance(String companyId, StaffBenefitEntity staffBenefitEntity) {
        throw new Ihr360Exception("", MESSAGE);
    }

    @Override
    public void saveApprovalApplicationId(String companyId, ApplicationApprovalEntity applicationId, Long id) {
        throw new Ihr360Exception("", MESSAGE);
    }

    @Override
    public void saveAllInsurance(String companyId, List<StaffBankSalaryEntity> staffBankSalaryEntityList) {
        throw new Ihr360Exception("", MESSAGE);
    }

    @Override
    public BenefitCompanySettingEntity queryBenefitCompanySetting(String companyId) {
        throw new Ihr360Exception("", MESSAGE);
    }

    @Override
    public void closeLedgerSummary(Long id) {
        throw new Ihr360Exception("", MESSAGE);
    }

    @Override
    public void updateApprovalState(String companyId, String applicationId, SIHFLedgerState state) {
        throw new Ihr360Exception("", MESSAGE);
    }

    @Override
    public Pair<Long, String> getLedgerSummaryIdUserId(String companyId, String applicationId) {
        throw new Ihr360Exception("", MESSAGE);
    }
}
